<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    手机号：<input type="text">
    <script>
        var input = document.querySelector("input")
        // 手机号正则 ^开头  $结尾  g全局匹配  
        // 第一位是1
        // 第二位是[3-9]
        // 第三到十一[0-9]{9}
        var regPhone = /^1[3-9][0-9]{9}$/g
        // 邮箱正则
        var regEmild = /^\w+@\w+\.(com|cn|net)$/g
        // 汉字
        // var teg = /^[\u4e00-\u9fa5]+$/g


        // input.onblur = function () {
        //     var flag = teg.test(this.value)
        //     console.log(flag)
        // }
        // str = "?name=123&age=43"
        // 第一步：str.slice(1)  => 

        // "name=123&age=431"
        // 将& 替换成,
        // "name=123,age=431"
        // 将=替换成为:
        // "name:123,age:431"
        // 头加{}
        // "{name:123,age:431}"
        // {
        //     name: 123,
        //     age: 73
        // }

        
        // JSON.parse(将字符串对象转化为JSON数据)


        // 第一步：str.slice(1)  => "name=123&age=431"
        // 第二步  切割成为数组&   =>["name=123","age=431"]
        // 第三步  切割成为数组=  ["name","123"]

        function regFormatUrl() {

        }


        // function formatUrl() {
        //     var obj = {}
        //     var str = location.search;
        //     var str1 = str.slice(1)
        //     // console.log(str1)
        //     var arr = str1.split("&")
        //     // console.log(arr)

        //     arr.forEach(function (item) {
        //         var a = item.split("=")
        //         console.log(a)
        //         obj[a[0]] = a[1]
        //     })

        //     console.log(obj)
        // }

        // formatUrl()

        // obj["name"] = 123





        // input.onchange = function () {
        //     var flag = reg2.test(this.value)
        //     console.log(flag)
        // }

        // function getUrlParams() {
        //     return JSON.parse('{"' + location.search.slice(1).replace(/&/g, '","').replace(/=/g, '":"') + '"}')
        // }

        // console.log(getUrlParams())

        // // 邮箱
        // var reg1 = /^\w+@\w+\.(com|cn|net)$/g
        // // 手机号
        // var reg = /^1[3-8]\d{9}$/g
        // // 汉字正则
        // var reg2 = /^[\u4e00-\u9fa5]+$/g

        // 正则表达式  英文全称:  regular expression
        // 功能: 使用单个字符串来描述、匹配一系列符合某个句法*规则*的字符串搜索模式。
        // 搜索模式: 分为两种:文本搜索 和 文本替换  两种


        // 正则表达式语法 ： /正则表达式整体/修饰符（可选）

        // 修饰符     描述
        //  i       忽略大小写
        //  g       全局匹配
        //  m       多行匹配

        // 表达式    描述
        // [abc]    满足是abc其中一个
        // [0-9]    满足0-9任意一个数字

        // 元字符    描述
        //  \d       数字0-9
        //  \s       空白字符
        //  \b       单词边界
        //  \w       数字，字母，下划线。等价于'[A-Za-z0-9_]'。

        // 限定符      描述
        // n+        至少一个n
        // n*        表示0个或多个n
        // n?        0个或者1个n
        // {n}	     n 是一个非负整数。匹配确定的 n 次。例如，'o{2}' 不能匹配 "Bob" 中的 'o'，但是能匹配 "food" 中的两个 o。
        // {n,}	     n 是一个非负整数。至少匹配n 次。例如，'o{2,}' 不能匹配 "Bob" 中的 'o'，但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。
        // {n,m}	 m 和 n 均为非负整数，其中n <= m。最少匹配 n 次且最多匹配 m 次。例如，"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。

        // 定位符    描述
        //   ^     匹配输入字符串开始的位置。
        //   $     匹配输入字符串结束的位置。












    </script>
</body>

</html>